﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DXApplicationTangche.DTO
{
    public class SaleOrderFacadeDTO
    {
        public String id { get; set; }
        public String billNo { get; set; }  //  纳客单号
        public String orgId { get; set; }   //  纳客组织id
        public String orgName { get; set; }    //  纳客组织
        public Double discount { get; set; }     //  整单优惠

        public List<PaymentEntity> paymentEntities { get; set; }     //  付款信息
        public List<SaleOrderFacadeBillEntryDTO> saleOrderFacadeBillEntryDTOS { get; set; }  //  存货分录信息

        //  其他信息
        public DateTime createDate { get; set; }    //  创建时间
        public String paymentOrderId { get; set; }  //  收款单id
        public String saleOrderId { get; set; }  //  销售订单id
        public String stockOutOrderId { get; set; }  //  销售出库单id

        public Boolean ifDiscount { get; set; }  //  是否包含折扣
        public Boolean ifHasDiscountBalance { get; set; }    //  是否包含折扣余额
        public Boolean ifPushOrder { get; set; }     //  是否下推订单
    }
    public class PaymentEntity
    {
        public String settleTypeId { get; set; }     //  结算方式id
        public Double payable { get; set; } //  金额
        public PaymentEntity()
        { 

        }
    }
    public class SaleOrderFacadeBillEntryDTO
    {
        public String entryId { get; set; }
        public String id { get; set; }
        public String nakeMaterialId { get; set; }   //  nake物料id
        public Double quantity { get; set; }     //  销售数量
        public Double price { get; set; }    //  含税单价
        public Boolean isFree { get; set; }  //  是否赠品


        //  金蝶信息
        /*
          在[V_NAKE_STOCK_INVENTORY]
          通过nakeid=top.toptimus.dto.SaleOrderFacadeDTO.orgId
          Fnumber in kingdeeMaterialFnumber
          能查到数量
           */
        public String fmaterialid { get; set; }
        public String kingdeeMaterialFnumber { get; set; }   //  金蝶物料编码
        public String materialName { get; set; }     //  金蝶物料名
        public Double stockQty { get; set; }     //  在库数量
        public Double saleOrderQuantity { get; set; }    //  写入销售订单数量
        public Double stockOutQuantity { get; set; }     //  销售出库数量

        public String errorMesage { get; set; }  //  错误日志

        /*
            折扣信息
         */
        public Double discount { get; set; }    //  折扣额，构造函数不传参
        public Double discountRate { get; set; }    //  折扣率，自动计算，不显示
        public SaleOrderFacadeBillEntryDTO()
        {

        }

    }
}
